
import java.io.File;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileFilter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import fileHashVerification.file.hash.*;
import fileHashVerification.file.decryption.Decryptor;
import fileHashVerification.file.decryption.FileDecryptor;
import fileHashVerification.file.encryption.*;
import javax.swing.JDialog;
import javax.swing.JOptionPane;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * Main.java
 *
 * Created on 8 Oct, 2011, 12:50:36 PM
 */
/**
 *
 * @author root
 */
public class Main extends javax.swing.JFrame {

    /** Creates new form Main */
    public Main() {
        initComponents();
    }
        private static FileInputStream fin;
	private static FileOutputStream fout;
	public static String password="password";
	private static String originalFileName;
        private static String encryptFileName;
        private static String decryptFileName;
        private static String beforeHashCode="";
        private static String afterHashCode="";
        private static boolean check1,check2,check3,check4;
        private HashFunction hf = new PerformHashFuction();
        private Encryptor encrypt = new FileEncryptor();
        private Decryptor decrypt = new FileDecryptor();
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jDialog1 = new javax.swing.JDialog();
        jPanel1 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        OpenFileForEncryption = new javax.swing.JButton();
        txtFieldForEncryption = new javax.swing.JTextField();
        beforeHashCodeButton = new javax.swing.JButton();
        encryptButton = new javax.swing.JButton();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        jPanel3 = new javax.swing.JPanel();
        Decription = new javax.swing.JPanel();
        afterHashCodeButton = new javax.swing.JButton();
        OpenFileForDecryption = new javax.swing.JButton();
        txtFieldForDecryption = new javax.swing.JTextField();
        decryptButton = new javax.swing.JButton();
        jLabel2 = new javax.swing.JLabel();
        jLabel6 = new javax.swing.JLabel();
        jLabel7 = new javax.swing.JLabel();
        jLabel8 = new javax.swing.JLabel();
        hashCodeVerification = new javax.swing.JButton();
        jLabel9 = new javax.swing.JLabel();

        jDialog1.setTitle("Alert");

        javax.swing.GroupLayout jDialog1Layout = new javax.swing.GroupLayout(jDialog1.getContentPane());
        jDialog1.getContentPane().setLayout(jDialog1Layout);
        jDialog1Layout.setHorizontalGroup(
            jDialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 400, Short.MAX_VALUE)
        );
        jDialog1Layout.setVerticalGroup(
            jDialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 300, Short.MAX_VALUE)
        );

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("File Encryption and Decryption");
        setAlwaysOnTop(true);
        setName("Main Frame"); // NOI18N
        setResizable(false);

        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "File Encryption", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Dialog", 1, 12), new java.awt.Color(13, 133, 240))); // NOI18N

        jLabel1.setText("File:");

        OpenFileForEncryption.setText("Open");
        OpenFileForEncryption.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                OpenFileForEncryptionActionPerformed(evt);
            }
        });

        beforeHashCodeButton.setText("Hash Code");
        beforeHashCodeButton.setEnabled(false);
        beforeHashCodeButton.setName("beforeHashCodeButton"); // NOI18N
        beforeHashCodeButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                beforeHashCodeButtonActionPerformed(evt);
            }
        });

        encryptButton.setText("Encrypt");
        encryptButton.setEnabled(false);
        encryptButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                encryptButtonActionPerformed(evt);
            }
        });

        jLabel3.setBackground(new java.awt.Color(183, 105, 26));
        jLabel3.setFont(new java.awt.Font("Ubuntu", 1, 14)); // NOI18N
        jLabel3.setText("Step:1 Open file for encryption");

        jLabel4.setBackground(new java.awt.Color(183, 105, 26));
        jLabel4.setFont(new java.awt.Font("Ubuntu", 1, 14)); // NOI18N
        jLabel4.setText("Step:2 Claculate Hash Code");

        jLabel5.setBackground(new java.awt.Color(183, 105, 26));
        jLabel5.setFont(new java.awt.Font("Ubuntu", 1, 14)); // NOI18N
        jLabel5.setText("Step:3 Encrypt File");

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addComponent(jLabel1)
                .addGap(4, 4, 4)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel3)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addComponent(jLabel4)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 15, Short.MAX_VALUE)
                                .addComponent(beforeHashCodeButton))
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addComponent(jLabel5)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 95, Short.MAX_VALUE)
                                .addComponent(encryptButton))
                            .addComponent(txtFieldForEncryption, javax.swing.GroupLayout.DEFAULT_SIZE, 286, Short.MAX_VALUE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(OpenFileForEncryption)))
                .addContainerGap())
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel3)
                .addGap(42, 42, 42)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel1)
                    .addComponent(txtFieldForEncryption, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(OpenFileForEncryption))
                .addGap(18, 18, 18)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(beforeHashCodeButton)
                    .addComponent(jLabel4))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 54, Short.MAX_VALUE)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(encryptButton)
                    .addComponent(jLabel5))
                .addGap(38, 38, 38))
        );

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 147, Short.MAX_VALUE)
        );
        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 57, Short.MAX_VALUE)
        );

        Decription.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "File Decryption", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Dialog", 1, 12), new java.awt.Color(15, 52, 247))); // NOI18N

        afterHashCodeButton.setText("Hash Code");
        afterHashCodeButton.setEnabled(false);
        afterHashCodeButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                afterHashCodeButtonActionPerformed(evt);
            }
        });

        OpenFileForDecryption.setText("Open");
        OpenFileForDecryption.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                OpenFileForDecryptionActionPerformed(evt);
            }
        });

        decryptButton.setText("Decrypt");
        decryptButton.setEnabled(false);
        decryptButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                decryptButtonActionPerformed(evt);
            }
        });

        jLabel2.setText("File:");

        jLabel6.setBackground(new java.awt.Color(183, 105, 26));
        jLabel6.setFont(new java.awt.Font("Ubuntu", 1, 14)); // NOI18N
        jLabel6.setText("Step:4 Open file for Decryption");

        jLabel7.setBackground(new java.awt.Color(183, 105, 26));
        jLabel7.setFont(new java.awt.Font("Ubuntu", 1, 14)); // NOI18N
        jLabel7.setText("Step:5 Claculate Hash Code");

        jLabel8.setBackground(new java.awt.Color(183, 105, 26));
        jLabel8.setFont(new java.awt.Font("Ubuntu", 1, 14)); // NOI18N
        jLabel8.setText("Step:4 Decrypt File");

        javax.swing.GroupLayout DecriptionLayout = new javax.swing.GroupLayout(Decription);
        Decription.setLayout(DecriptionLayout);
        DecriptionLayout.setHorizontalGroup(
            DecriptionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(DecriptionLayout.createSequentialGroup()
                .addGroup(DecriptionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(DecriptionLayout.createSequentialGroup()
                        .addGap(31, 31, 31)
                        .addComponent(jLabel6))
                    .addGroup(DecriptionLayout.createSequentialGroup()
                        .addComponent(jLabel2)
                        .addGap(3, 3, 3)
                        .addGroup(DecriptionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(DecriptionLayout.createSequentialGroup()
                                .addComponent(jLabel7)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 42, Short.MAX_VALUE)
                                .addComponent(afterHashCodeButton))
                            .addGroup(DecriptionLayout.createSequentialGroup()
                                .addComponent(jLabel8)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 118, Short.MAX_VALUE)
                                .addComponent(decryptButton))
                            .addComponent(txtFieldForDecryption, javax.swing.GroupLayout.PREFERRED_SIZE, 313, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(OpenFileForDecryption)))
                .addGap(32, 32, 32))
        );
        DecriptionLayout.setVerticalGroup(
            DecriptionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(DecriptionLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel6)
                .addGap(45, 45, 45)
                .addGroup(DecriptionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(txtFieldForDecryption, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(OpenFileForDecryption))
                .addGap(18, 18, 18)
                .addGroup(DecriptionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel8)
                    .addComponent(decryptButton))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 56, Short.MAX_VALUE)
                .addGroup(DecriptionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel7)
                    .addComponent(afterHashCodeButton))
                .addGap(33, 33, 33))
        );

        hashCodeVerification.setText("HashCode Verification");
        hashCodeVerification.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                hashCodeVerificationActionPerformed(evt);
            }
        });

        jLabel9.setBackground(new java.awt.Color(183, 105, 26));
        jLabel9.setFont(new java.awt.Font("Ubuntu", 1, 14)); // NOI18N
        jLabel9.setText("Step:6 HashBased Verification of File");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel9)
                .addGap(62, 62, 62)
                .addComponent(hashCodeVerification, javax.swing.GroupLayout.PREFERRED_SIZE, 186, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(195, 195, 195)
                .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            .addGroup(layout.createSequentialGroup()
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(Decription, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(Decription, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                        .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGroup(layout.createSequentialGroup()
                            .addComponent(jLabel9)
                            .addGap(25, 25, 25)))
                    .addComponent(hashCodeVerification, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

private void beforeHashCodeButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_beforeHashCodeButtonActionPerformed

    check1=true;
    originalFileName = txtFieldForEncryption.getText();
    try {
            beforeHashCode = hf.getSHA1Checksum(originalFileName);
           JOptionPane.showMessageDialog(this,
                                  "Calculated HashCode is "+beforeHashCode,
                                  "Confirmation",
                                  JOptionPane.INFORMATION_MESSAGE);
        } catch (Exception ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }
        encryptButton.setEnabled(true);
}//GEN-LAST:event_beforeHashCodeButtonActionPerformed

private void OpenFileForEncryptionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_OpenFileForEncryptionActionPerformed
   
    JFileChooser jfilechooserOpen = new JFileChooser();
    jfilechooserOpen.showOpenDialog(this);
    txtFieldForEncryption.setText(jfilechooserOpen.getSelectedFile().getAbsolutePath());
    beforeHashCodeButton.setEnabled(true);
}//GEN-LAST:event_OpenFileForEncryptionActionPerformed

private void encryptButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_encryptButtonActionPerformed
    check2 =true;
    try {
       encrypt.encryption("password", fin, fout,originalFileName);
       JOptionPane.showMessageDialog(this,
                                  "File has been Encrypted with extension .enc",
                                  "Confirmation",
                                  JOptionPane.INFORMATION_MESSAGE);
    } catch (Exception ex) {
          Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
    }
 
}//GEN-LAST:event_encryptButtonActionPerformed

private void OpenFileForDecryptionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_OpenFileForDecryptionActionPerformed
     
    JFileChooser openEncryptFile = new JFileChooser();//new save dialog  
    openEncryptFile.addChoosableFileFilter(new FileFilter()//adds new filter into list  
    {  
        String description = "Sorted Files (*.enc)";//the filter you see  
        String extension = "enc";//the filter passed to program  
        @Override
        public String getDescription()  
        {  
          return description;  
        }  
        @Override
        public boolean accept(File f)  
        {  
          if(f == null) return false;  
          if(f.isDirectory()) return true;  
          return f.getName().toLowerCase().endsWith(extension);  
        }  
      }); 
      openEncryptFile.showOpenDialog(this);
      txtFieldForDecryption.setText(openEncryptFile.getSelectedFile().getAbsolutePath());
      decryptButton.setEnabled(true);
}//GEN-LAST:event_OpenFileForDecryptionActionPerformed

private void afterHashCodeButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_afterHashCodeButtonActionPerformed
    check3 = true;
    HashFunction hf = new PerformHashFuction();
    try {
            afterHashCode = hf.getSHA1Checksum(decryptFileName);
             JOptionPane.showMessageDialog(this,
                                  "Claculated Hash Code is "+afterHashCode,
                                  "Confirmation",
                                  JOptionPane.INFORMATION_MESSAGE);
        } catch (Exception ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }
    
}//GEN-LAST:event_afterHashCodeButtonActionPerformed

private void decryptButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_decryptButtonActionPerformed
    check4= true;
    encryptFileName = txtFieldForDecryption.getText();
     try {
         decryptFileName= decrypt.decrypt(fin, fout, password, encryptFileName);
          JOptionPane.showMessageDialog(this,
                                  "File has been Decrypted with extension .dcr.txt",
                                  "Confirmation",
                                  JOptionPane.INFORMATION_MESSAGE);
     } catch (Exception ex) {
          Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
     }
     afterHashCodeButton.setEnabled(true);
}//GEN-LAST:event_decryptButtonActionPerformed

private void hashCodeVerificationActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_hashCodeVerificationActionPerformed
    
    if(check1==false && check2==false && check3==false && check4==false){
    JOptionPane.showMessageDialog(this,
                                  "Follow all steps First",
                                  "Info",
                                  JOptionPane.WARNING_MESSAGE);

    }    
    else{
        try {
                if(hf.verifyHashCode(beforeHashCode, afterHashCode))
                {   
                    JOptionPane.showMessageDialog(this,
                                  "HashCode Matched file is not tempered",
                                  "Confirmation",
                                  JOptionPane.INFORMATION_MESSAGE);
                }
                else
                    JOptionPane.showMessageDialog(this,
                                  "HashCode dosen't Matched file is tempered",
                                  "Confirmation",
                                  JOptionPane.INFORMATION_MESSAGE);
                    
            } catch (Exception ex) {
                Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
}//GEN-LAST:event_hashCodeVerificationActionPerformed
/**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new Main().setVisible(true); 
                
                
            }
        });
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JPanel Decription;
    private javax.swing.JButton OpenFileForDecryption;
    private javax.swing.JButton OpenFileForEncryption;
    private javax.swing.JButton afterHashCodeButton;
    private javax.swing.JButton beforeHashCodeButton;
    private javax.swing.JButton decryptButton;
    private javax.swing.JButton encryptButton;
    private javax.swing.JButton hashCodeVerification;
    private javax.swing.JDialog jDialog1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JTextField txtFieldForDecryption;
    private javax.swing.JTextField txtFieldForEncryption;
    // End of variables declaration//GEN-END:variables
}
